﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb.operario
{
    public partial class ModificarClienteO : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void checkCliente_Click(object sender, EventArgs e)
        {
            bool result = cargarDatosCliente(Int32.Parse(idCliente.Text));

            if (result)
            {
                panelDatosCliente.Visible = true;
                checkCliente.Enabled = false;
                idCliente.Enabled = false;
            }
            else
            {
                Response.Write("<script>alert('IdCliente incorrecto')</script>");
            }
        }

        protected bool cargarDatosCliente(int idcliente)
        {
            bool resultado = false;
            Cliente c = Proxy.consultarDatosCliente(Int32.Parse(idCliente.Text));
            if (c.getNombre() != "error")
            {
                eco_nombre.Text = c.getNombre();
                eco_app.Text = c.getApellidos();
                eco_dni.Text = c.getDNI();
                eco_fechaN.Text = c.getFechaNacimiento().ToShortDateString();
                eco_saldo.Text = c.getSaldo().ToString();
                eco_sexo.Text = c.getSexo().ToString();
                tipoCalle.Text = c.getDireccion().getTipoCalle();
                eco_direccion.Text = c.getDireccion().getNombreCalle();
                eco_dirNum.Text = c.getDireccion().getNumeroCalle().ToString();
                eco_dirPiso.Text = c.getDireccion().getPiso().ToString();
                eco_dirLetra.Text = c.getDireccion().getLetra().ToString();
                eco_dirEsc.Text = c.getDireccion().getEscalera();
                eco_localidad.Text = c.getDireccion().getLocalidad();
                eco_provincia.Text = c.getDireccion().getProvincia();
                eco_cp.Text = c.getDireccion().getCP().ToString();
                eco_pais.Text = c.getDireccion().getPais();
                eco_telfF.Text = c.getTelefonoFijo().ToString();
                eco_telfM.Text = c.getTelefonoMovil().ToString();
                eco_fax.Text = c.getFax().ToString();
                eco_email.Text = c.getCorreoElectronico();
                eco_bancoEnt.Text = c.getDatosBancarios().getNombreBanco();
                eco_bancoDir.Text = c.getDatosBancarios().getDireccionOficina();
                eco_cuenta.Text = c.getDatosBancarios().getNumeroDeCuenta().ToString();
                resultado = true;
            }
            return resultado;
        }

        protected void updateCliente_Click(object sender, EventArgs e)
        {
            Cliente m = new Cliente();
            m.setIdCliente(Int32.Parse(idCliente.Text));
            m.setDNI(eco_dni.Text);
            m.setNombre(eco_nombre.Text);
            m.setApellidos(eco_app.Text);
            m.setFechaNacimiento(DateTime.Parse(eco_fechaN.Text));
            m.setSexo(eco_sexo.Text.ToCharArray()[0]);
            m.setTelefonoFijo(Int64.Parse(eco_telfF.Text));
            m.setTelefonoMovil(Int64.Parse(eco_telfM.Text));
            m.setFax(Int64.Parse(eco_fax.Text));
            m.setCorreoElectronico(eco_email.Text);
            Direccion d = new Direccion();
            d.setTipoCalle(tipoCalle.Text);
            d.setNombreCalle(eco_direccion.Text);
            d.setNumeroCalle(Int32.Parse(eco_dirNum.Text));
            d.setPiso(Int32.Parse(eco_dirPiso.Text));
            d.setLetra(eco_dirLetra.Text.ToCharArray()[0]);
            d.setEscalera(eco_dirEsc.Text);
            d.setLocalidad(eco_localidad.Text);
            d.setProvincia(eco_provincia.Text);
            d.setCP(Int32.Parse(eco_cp.Text));
            d.setPais(eco_pais.Text);
            DatosBancarios db = new DatosBancarios();
            db.setNombreBanco(eco_bancoEnt.Text);
            db.setNumeroDeCuenta(Decimal.Parse(eco_cuenta.Text));
            db.setDireccionOficina(eco_bancoDir.Text);
            m.setSaldo(Int32.Parse(eco_saldo.Text));
            m.setDireccion(d);
            m.setDatosBancarios(db);
            bool x = Proxy.modificarCliente(m);

            if (x)
            {
                Response.Write("<script>alert('Datos modificados para el cliente ')</script>");
            }
        }

        protected void resetButton_Click(object sender, EventArgs e)
        {
            cargarDatosCliente(Int32.Parse(idCliente.Text));
        }

        protected void Cancelar_Button_Click(object sender, EventArgs e)
        {
            panelDatosCliente.Visible = false;
            checkCliente.Enabled = true;
            idCliente.Enabled = true;
        }
    }
}
